package com.atguigu.gulimall.product;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession;

/**
 * 导入mybatisPlus步骤
 * 1、导包（在common中）
 *          <dependency>
 *             <groupId>com.baomidou</groupId>
 *             <artifactId>mybatis-plus-boot-starter</artifactId>
 *             <version>3.3.1</version>
 *         </dependency>
 *
 * 2、配置
 *    配置数据源,需先导入mysql的驱动
 *    配置mapperScan
 *    配置mapperLocation
 *    配置主键自增
 *
 * 3、可以在测试类中引入某个service测试一下
 *    这里的service都实现了通过实现接口间接实现了IService接口，这也是mybatisPlus提供的，里面有增删改查方法
 */

/**
 * 使用SpringCache SpringCache可以整合多种缓存，本质上就是对不同缓存存储容器操作的封装
 * 如ConcurrentHashMap、Redis等
 * 步骤：
 * 1、引入依赖<dependency>
 *             <groupId>org.springframework.boot</groupId>
 *             <artifactId>spring-boot-starter-cache</artifactId>
 *         </dependency>
 * 2、配置：  spring.cache.type: redis
 * 3、redis地址等配置，如果之前已经使用redis了就不用了
 * 4、启动类加上注解@EnableCaching
 * 5、在方法上使用注解完成缓存操作
 *
 **/
@EnableRedisHttpSession
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients(basePackages = "com.atguigu.gulimall.product.feign")
public class GulimallProductApplication {

	public static void main(String[] args) {
		SpringApplication.run(GulimallProductApplication.class, args);
	}

}
